package com.ruoyi.wtww.mapper;

import java.util.List;
import com.ruoyi.wtww.domain.Wtww;
import com.ruoyi.wtww.domain.WtwwFj;
import com.ruoyi.wtww.domain.WtwwKxjl;

/**
 * 委托委外Mapper接口
 *
 * @author huacai
 * @date 2024-08-12
 */
public interface WtwwMapper
{
    /**
     * 查询委托委外
     *
     * @param wtwwId 委托委外主键
     * @return 委托委外
     */
    public Wtww selectWtwwByWtwwId(String wtwwId);

    /**
     * 查询委托委外列表
     *
     * @param wtww 委托委外
     * @return 委托委外集合
     */
    public List<Wtww> selectWtwwList(Wtww wtww);

    /**
     * 新增委托委外
     *
     * @param wtww 委托委外
     * @return 结果
     */
    public int insertWtww(Wtww wtww);

    /**
     * 修改委托委外
     *
     * @param wtww 委托委外
     * @return 结果
     */
    public int updateWtww(Wtww wtww);

    /**
     * 删除委托委外
     *
     * @param wtwwId 委托委外主键
     * @return 结果
     */
    public int deleteWtwwByWtwwId(String wtwwId);

    /**
     * 批量删除委托委外
     *
     * @param wtwwIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWtwwByWtwwIds(String[] wtwwIds);

    /**
     * 批量删除委托委外附件资料
     *
     * @param wtwwIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWtwwFjByWtwwIds(String[] wtwwIds);

    /**
     * 批量新增委托委外附件资料
     *
     * @param wtwwFjList 委托委外附件资料列表
     * @return 结果
     */
    public int batchWtwwFj(List<WtwwFj> wtwwFjList);


    /**
     * 通过委托委外主键删除委托委外附件资料信息
     *
     * @param wtwwId 委托委外ID
     * @return 结果
     */
    public int deleteWtwwFjByWtwwId(String wtwwId);

    /**
     * 新增附件
     * @param wtwwFj
     * @return
     */
    int insertWtwwFjByWtwwId(WtwwFj wtwwFj);

    /**
     * 根据ID查询附件列表
     * @param wtwwFj
     * @return
     */
    List<WtwwFj> selectWtwwFjList(WtwwFj wtwwFj);

    /**
     * 批量删除委托委外附件资料
     *
     * @param fjIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWtwwFjByFjIds(Integer[] fjIds);

    /**
     * 锁定委托委外
     * @param wtww
     * @return
     */
    int updateSdztLocking(Wtww wtww);

    /**
     * 解锁委托委外
     * @param wtww
     * @return
     */
    int updateSdztUnlock(Wtww wtww);

    /**
     * 批量删除款项记录
     *
     * @param wtwwIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWtwwKxjlByWtwwIds(String[] wtwwIds);

    /**
     * 批量新增款项记录
     *
     * @param wtwwKxjlList 款项记录列表
     * @return 结果
     */
    public int batchWtwwKxjl(List<WtwwKxjl> wtwwKxjlList);


    /**
     * 通过委托委外主键删除款项记录信息
     *
     * @param wtwwId 委托委外ID
     * @return 结果
     */
    public int deleteWtwwKxjlByWtwwId(String wtwwId);

    /**
     * 获取委托委外与款项记录详细信息
     * @param wtwwId
     * @return
     */
    Wtww selectWtwwKxJlByWtwwId(String wtwwId);
}
